// 引入全部的全局组件
import SvgIcon from '@/components/SvgIcon.vue'
import Category from '@/components/Category.vue'
import type { App, Component } from 'vue'
// 引入element-plus提供的全部图标组件
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

// 全部的自定义组件
const components: { [name: string]: Component } = { SvgIcon, Category }

export default {
  // 注册项目的全部组件
  install(app: App) {
    // 注册自定义组件
    Object.keys(components).forEach((key: string) => {
      app.component(key, components[key])
    })

    // 注册element-plus图标组件
    for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
      app.component(key, component)
    }
  },
}
